package com.study.test;

/**
 * 
 * @author noahedu
 *
 */
class Widget
{

	public synchronized void doSomething()
	{

	}
}

/**
 * 
 * 可重入锁 ReentrantLock.java 一个可重入的互斥锁 Lock，它具有与使用 synchronized
 * 方法和语句所访问的隐式监视器锁相同的一些基本行为和语义，但功能更强大。
 */
public class LoggingWidget extends Widget
{

	public synchronized void doSomething()
	{

		System.out.println("logging");
		super.doSomething();
	}

	public static void main(String[] args)
	{
		LoggingWidget tt = new LoggingWidget();

		tt.doSomething();

		//如果不是可重入，下句一直等到执行
		System.out.println("main end--------");
	}

}
